Зачем менять порт SSH?
По умолчанию SSH-сервер слушает порт 22, который является стандартным и широко известным. Это делает его основной целью для автоматических брутфорс-атак и сканирования. Изменение порта помогает снизить количество таких попыток, повышая безопасность сервера и уменьшая нагрузку.
Какой диапазон портов доступен?
Порты делятся на три группы:
- От 0 до 1023 – системные, зарезервированные за стандартными службами, их использовать не рекомендуется.
- От 1024 до 49151 – зарегистрированные для пользовательских приложений.
- От 49152 до 65535 – динамические или частные порты.
Для выбора нестандартного SSH-порта рекомендуется брать число в диапазоне от 1024 до 65535, чтобы избежать конфликтов и повысить безопасность.
Почему в примере выбран порт 2222?
Порт 2222 – простой и удобный для запоминания нестандартный порт из безопасного диапазона (1024–65535). Его особенность в том, что это повторение числа 22 – стандартного порта SSH, что облегчает запоминание. Он достаточно далёк от системных портов и часто используется в примерах, так как помогает снизить вероятность автоматических атак, направленных на стандартный порт 22.
Именно поэтому в инструкции выбран порт 2222.
открыть файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
Находим строку с #Port 22 или Port 22 и заменим её, например, на:
Port 2222
То есть убираем #, меняем 22 на нужный номер порта от 1024 до 65535.
Запускаем команду для проверки конфигурации:
sudo sshd -t
Если команда не выдаст ошибок, значит всё в порядке и можно безопасно перезапустить SSH-сервис.
Перезапускаем SSH-сервис командой:
sudo systemctl restart sshd
После перезапуска необходимо проверить, что новый порт открыт и прослушивается.
Проверить открытый порт локально:
sudo netstat -tuln | grep 2222
Или проверить из сети (например, с другого устройства):
nmap -p 2222 твой_адрес_сервера
Если порт закрыт, открой его в фаерволе.
Для ufw:
sudo ufw allow 2222/tcp
sudo ufw reload
Для firewalld:
sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
Для iptables открой порт 2222 для TCP:
sudo iptables -I INPUT -p tcp --dport 2222 -j ACCEPT
Если пакет iptables-persistent не установлен, установи его командой:
sudo apt update
sudo apt install iptables-persistent
При установке система спросит, сохранить ли текущие правила – соглашаемся.
Чтобы сохранить правила вручную в любое время:
sudo netfilter-persistent save
Альтернативный вариант сохранить правила:
sudo iptables-save | sudo tee /etc/iptables/rules.v4